package com.xmy.cultivate.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * <p>
 * 子商户
 * </p>
 *
 * @author hpiggy
 * @since 2023-06-02
 */
@TableName("sub_business")
@ApiModel(value = "SubBusiness对象", description = "子商户")
@Data
public class SubBusiness implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    @ApiModelProperty("商户简称")
    private String anotherName;

    @ApiModelProperty("公司名称或者客户名称，客户类型是小微商户时客户名称需和身份证号码、法人手机号码匹配")
    private String custName;

    @ApiModelProperty("省")
    private String province;

    @ApiModelProperty("市")
    private String city;

    @ApiModelProperty("详细地址")
    private String companyAddr;

    @ApiModelProperty("法人姓名（选填）")
    private String legalName;

    @ApiModelProperty("企业法人手机号码")
    private String legalTel;

    @ApiModelProperty("企业法人证件类型，支持类型请参照3.7小节,默认00")
    private String legalCertType;

    @ApiModelProperty("企业法人证件号")
    private String legalCertNo;

    @ApiModelProperty("营业执照，客户类型为个体商户、企业户时为必填")
    private String busLicense;

    @ApiModelProperty("营业执照有效期，客户类型为个体商户、企业商户时为必填，格式为yyyyMMdd 示例值：20181229")
    private String busLicenseExpire;

    @ApiModelProperty("银行帐号")
    private String bankAccountNo;

    @ApiModelProperty("开户人，银行卡账户名，需和法人姓名或客户姓名一致")
    private String bankAccountName;

    @ApiModelProperty("银行账户类型，此处必填corporate :对公账户;personal:对私账户")
    private String bankAccountType;

    @ApiModelProperty("银行卡类型，可填debit、unit、debit借记卡，unit单位结算卡")
    private String bankCardType;

    @ApiModelProperty("开户行名称，为交易能顺利进行，请尽可能填写到街道 示例值：中国银行深圳分行民治支行")
    private String bankName;

    @ApiModelProperty("银行行别 示例值：中国银行")
    private String bankType;

    @ApiModelProperty("开户行所在的省份")
    private String bankProvince;

    @ApiModelProperty("开户行所在城市")
    private String bankCity;

    @ApiModelProperty("开户人证件类型，目前只支持00,00为身份证")
    private String certType;

    @ApiModelProperty("开户人证件号码")
    private String certNo;

    @ApiModelProperty("银行预留手机号")
    private String bankTelephoneNo;

    @ApiModelProperty("是否提交到银盛")
    private Integer isSubYse;

    @ApiModelProperty("状态")
    private Integer status;

    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdAt;

    @TableField(exist = false)
    private List<SubBusinessImages> subBusinessImagesList;

}
